To facilitate communication of voice over a packet switched network between two devices, the devices (by themselves, or cooperatively with the assistance of serving nodes or intermediaries) typically make use of an agreed voice codec that allows efficient transmission of voice in a digital form. Considering a voice call between two users each operating a respective device, for example, the sending device may receive voice from a user, sample and digitize the voice to produce a representative digital bit stream defining frames of voice data, typically 20 milliseconds each, apply a voice codec to the bit stream to produce an encoded bit stream, and packetize the encoded bit stream and transmit the resulting packets via the packet switched network to the receiving device. The receiving device may then receive the packets, re-order them if necessary, extract the encoded bit stream, apply the voice codec to decode the encoded bit stream so as to uncover the digital bit stream, and convert the digital bit stream to analog form for playout to a user.
Voice codecs may be fixed rate or variable rate. A fixed rate voice codec represents each voice frame by a fixed number of bits. Whereas, a variable rate codec may have a range of encoding rates for representing voice frames with a varying number of bits. Examples of variable rate voice codecs include, without limitation, Adaptive-Multi-Rate Narrowband (AMR-NB), Adaptive-Multi-Rate Wideband (AMR-WB), and Enhanced Voice Services (EVS).
When using a variable rate codec, a device engaged in a voice communication may determine that the voice codec rate should be changed to a particular rate based on various factors. In a wireless communication system, for instance, the voice codec rate used by a device could be set dynamically based on the strength or quality of the device's air interface communication with its serving base station. For example, if the device is in weak coverage of the base station, the device could use a lower voice codec rate to help increase the chances of successful communication over the weak air interface. Whereas, if the device is in strong coverage of the base station, the device could use a higher voice codec rate to help improve quality of the voice communication.
Further, at times during a voice call when a user of the sending device is not talking, the sending device may generate data representing background comfort noise (e.g., subtle white noise) for playout by the receiving device. Thus, certain voice frames transmitted from the sending device to the receiving device may be such comfort noise data rather than actual voice data, and the comfort noise data could be similarly encoded with a fixed rate or variable rate codec. Further, other types of voice frame data might be transmitted in certain implementations.